1. Field of Invention
The present invention relates generally to the field of content or data delivery over a network, and in one exemplary aspect to using peer devices to provide content over a cable television network.
2. Description of Related Technology
Content-based networks (e.g., cable television, satellite, etc.) are well known in the prior art. Such networks typically utilize one or more substantially centralized distribution nodes (e.g., a cable system headend) and a wireline, optical, and or wireless delivery infrastructure which permits distribution of content from the central node to a plurality of client or customer premises devices via e.g., a plurality of radio frequency (RF) channels or QAMs (so-called “downstream” delivery).
Additionally, such networks may be configured to provide high-speed or broadband Internet access, such as via a cable modem that operates on ancillary or secondary RF channels in addition to those used for the “in-band” content delivery.
Some upstream (client-to-network) connectivity is also provided, primarily for (i) signaling or messaging between the client devices and the network servers or entities; and (ii) broadband access to the Internet (via the aforementioned cable modem or similar channels).
While providing unprecedented capability and features to subscribers (such as VOD or video-on-demand, personal video recorder (PVR), download and recording on the subscribers own device (e.g., DVR), and the like), one salient deficiency still un-addressed in such networks relates to the centralization of the network. Specifically, in the context of an exemplary cable network, the “core” portion of the network can act as somewhat of a bottleneck or limitation on capacity. Specifically, cable infrastructure (including the hybrid-fiber coax or HFC portions) are physically designed to handle only so much subscriber demand. With greater demands being felt for bandwidth intensive services such as VOD, PVR, and high definition (HD) programs (the latter consuming a full four-times the bandwidth of a standard definition program), extant network infrastructure is being stretched increasingly thin.
Interestingly, however, the consumption of capacity or bandwidth within the network is typically not symmetric with respect to (i) location in the network; or (ii) direction of propagation (e.g., upstream or downstream). Specifically, the “edges” of the network (i.e., portions closer to the subscriber premises, or to other external networks and their interfaces) are typically less loaded (or similarly less restricted) than the core. For example, a given distribution hub infrastructure may be able to service all of the existing subscribers simultaneously with high-bandwidth services, yet if all such hubs were to provide such a level of service simultaneously, the core would be unable to meet the demand. Hence, the edges (at least on average) can be considered to have substantial unused capacity within the network.
Similarly, the downstream flow of content typically greatly outweighs any upstream traffic, even when considering cable modems and the like (e.g., DOCSIS upstream broadband traffic).
Another deficiency associated with prior art content-based network infrastructure relates to ephemeral content availability or transmissions. For example for live broadcasts, there may be no headend or other storage of the content. Hence, if a subscriber misses the broadcast (or a portion thereof), they have little recourse in obtaining the content. This is particularly acute for unplanned live broadcasts; e.g., breaking news coverage, etc., since the subscriber (if not home) has little opportunity to record the content, and cannot plan to record it in advance since they have no foreknowledge of the event.
A related disability concerns recovery or reconstitution of content that may be incomplete or may have been corrupted. Even if the subscriber is successful at capturing ephemeral or other content on their client device (e.g., set-top box with DVR), it may not be whole (e.g., they may have missed the first ten minutes because they were late, or the last ten minutes because the network imposed a scheduling change, etc.), or alternatively it may have been corrupted such as via natural phenomenon (sunspots or radio frequency interference), service interruptions, subscriber error, or any other of a host of possible causes. Other types of content such as computer files or applications, gaming content, etc. may simply be incompatible or improperly configured for the subscriber's platform (e.g., improper codec, infected with mal-ware or virus, calls to deprecated or non-functional APIs in the code, etc.). The user's storage device may even be to blame, such as where one or more bad disk sectors or cylinders exist.
Peer-To-Peer (P2P) Technology—
Distributed (e.g., peer-to-peer, or “P2P”) networks and protocols have incrementally improved over time in both technological advancement and prevalence, and currently allow network users (such as users of the Internet) to readily gain access to a variety of different types of content including music, video, images, and data.
The implementation of P2P networks and environments are well known in the prior art, including those such as for example Gnutella, Morpheus, Kazaa, Freenet, and E-Donkey. Exemplary P2P architectures and associated components are described in detail in, inter alia, U.S. Pat. No. 6,219,710 to Gray, et al. issued Apr. 17, 2001 and entitled “Method and apparatus for peer-to-peer communication”; U.S. Pat. No. 6,167,432 to Jiang issued Dec. 26, 2000 and entitled, “Method for creating peer-to-peer connections over an interconnected network to facilitate conferencing among users”; United States Patent Application 20020162109A1 to Shteyn published Oct. 31, 2002, entitled “Distributed storage on a P2P network architecture”; United States Patent Application 20020152299A1 to Traversat, et al. published Oct. 17, 2002 and entitled “Reliable peer-to-peer connections”; and United States Patent Application 20020147771A1 to Traversat, et al. published Oct. 10, 2002 and entitled “Peer-to-peer computing architecture”, each of the foregoing which is incorporated herein by reference in its entirety.
“Pure” P2P architectures have the advantage of having no central server or other component, making communication and packet/file sharing between peer clients fluid and decentralized, and avoiding issues associated with maintaining a central server. Decentralized and unstructured peer-to-peer networks are attractive for certain applications because they require no centralized directories and no precise control over network topology or data placement. P2P systems are also inherently fault-tolerant.
When peer-to-peer file sharing was first introduced, it rapidly gained popularity due to inter alia ease of use, convenience, ready access to content, and cost benefits. However, many P2P technologies are not well suited to enforce quality-of-service (QoS), authentication, bandwidth management, or digital rights management (DRM)/copyright protection policies on shared files or content. As peer-to-peer networks and protocols evolved and improved in recent years, users have begun to expect more from the technology; i.e., a more immediate, transparent, secure, error-free, and even anonymous file or data sharing experience.
One such example of a recent P2P protocol aimed at addressing many of the foregoing needs is the BitTorrent™ protocol. BitTorrent comprises a protocol designed for transferring files in a P2P network. In a BitTorrent P2P network, users connect to each other directly as peers (as opposed to via a server or other such content-serving entity) in order to send and receive files or portions of files. The BitTorrent architecture does utilize at least one server however, known as a “tracker”, which coordinates the actions of related nodes on a network. The tracker (server) only manages connections between nodes, and can therefore be supported with limited bandwidth. Alternatively, network nodes are dynamically and directly connected with each other and require added bandwidth to transfer files during file exchange. Peer exchange (PEX) is another method to gather network nodes for BitTorrent in addition to trackers and Distributed Hash Table (DHT).
BitTorrent clients are programs which implement the BitTorrent protocol. There are numerous compatible clients, written in a variety of programming languages, and running on a variety of computing platforms. Each BitTorrent client is capable of preparing, requesting, and transmitting any type of computer file over a network using the BitTorrent protocol. BitTorrent clients support encryption capabilities. Protocol header encrypt (PHE), Message stream encryption (MSE), or Protocol encryption (PE) are features of some BitTorrent clients. Encryption makes BitTorrent traffic harder to detect in a network. Another proposed feature of the BitTorrent clients combines RSS and BitTorrent to create a content delivery system dubbed broadcatching.
The process of downloading a “torrent” and exchanging files utilizing the BitTorrent protocol is as described as follows.
A user conducts a query on the web and selects a specific torrent to download, a small “- - - .torrent” file is selected. Opening this file with a BitTorrent client program is the first step in the download. The client then connects to the tracker, which provides it with a list of clients currently downloading the file or files. A group of peers on a BitTorrent or P2P connected with each other to share a particular torrent.
Initially, there may be no other nodes also requesting the same content, in which case the client connects directly to the content source and begins to request pieces. The BitTorrent protocol breaks down files into a number of smaller pieces. Pieces are checked as they are received using a hash algorithm to ensure that they are error-free. Peers that provide the complete file are referred to as “seeders”, and the peer providing the initial copy is known as the initial seeder.
As more and more nodes enter and request for the same content, the nodes begin trading pieces with one another, instead of downloading directly from the original source. BitTorrent clients incorporate mechanisms to optimize download and upload rates. Nodes download pieces in a random order, so as to increase the opportunity to exchange data. This is only possible if two peers have a different subset of the target content (file).
The effectiveness of the peer-to-peer data exchange of BitTorrent depends to a large degree on the policies used by clients to determine to whom to send data; more restrictive policies tend to reduce efficiency.
Based on the foregoing, a need exists for an improved approach to content distribution within a network (e.g., a cable television network) that allows for utilization of capacity further out toward the network's edge. Such improved apparatus and methods would also ideally give subscribers to the ability to readily obtain ephemeral or other content which they missed or otherwise do not possess, and reconstitute damaged or missing portions of content without having to further burden the network core. Moreover, such apparatus and methods could be implemented readily within the existing framework of a network, without significant modifications to infrastructure or client devices (e.g., set-top boxes).